﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _20170124_Testwork2
{
    // Создать класс Human. В классе определить поля - Имя, Фамилия, Дата рождения.
    // Имя и фамилия не могут быть null. Дата рождения не может быть из будущего.
    // Реализовать свойства для установки и считывания значений полей. 
    // Создать конструктор позволяющий установить значения полей класса при создании.
    // Создать 2 экземпляра класса. Вывести значение полей экземпляров на экран.

    class Human
    {
        private string firstName;
        private string lastName;
        private DateTime birthday;

        public Human(string firstName, string lastName, DateTime birthday)
        {
            FirstName = firstName;
            LastName = lastName;
            Birthday = birthday;
        }

        public string FirstName
        {
            get
            {
                return firstName;
            }
            set
            {
                if (value == null)
                    throw new ArgumentNullException();
                firstName = value;
            }
        }

        public string LastName
        {
            get
            {
                return lastName;
            }
            set
            {
                if (value == null)
                    throw new ArgumentNullException();
                lastName = value;
            }
        }

        public DateTime Birthday
        {
            get
            {
                return birthday;
            }
            set
            {
                if (value >= DateTime.Today)
                    throw new ArgumentNullException();
                birthday = value;
            }
        }

        public override string ToString()
        {
            return string.Format("{0} {1}, {2}", firstName, lastName, birthday.ToShortDateString());
        }
    }
}
